package core.vols;

import java.util.ArrayList;
import java.util.Hashtable;

import core.ClasseVol;
import core.compagnie.CarteFidelite;
import core.voyageur.Billet;
import core.voyageur.Client;

public class Prix {
	private double prix;
	
	public Prix(double prix) {
		this.prix = prix;
	}
	
	public Prix() {}
	
	public void calculate(ArrayList<VolInstance> vols, Client client, Hashtable<VolInstance, ClasseVol> classes) {
		double res=0;
		for(VolInstance v : vols) {
			double tmp = v.getPrixBase(classes.get(v)).getPrix();
			if(!client.getCartes().isEmpty()) {
				for(CarteFidelite c :client.getCartes()) {
					if(c.getMetaCompagnie() != null) {
						if(c.getMetaCompagnie().getCompagnies().contains(v.getAvion().getCompagnie())) {
							tmp = tmp-(tmp*c.getReduc()/100);
							break;
						}
					} else {
						if(c.getCompagnie().equals(v.getAvion().getCompagnie())) {
							tmp = tmp-(tmp*c.getReduc()/100);
							break;
						}
					}
					
				}
				
			}
			res += tmp;			
		}
		this.prix=res;
	}

	/**
	 * @return the prix
	 */
	public double getPrix() {
		return prix;
	}
	
	
}
